package com.wz.controller;


import com.wz.pojo.UserInfo;
import com.wz.service.LoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpSession;

@Controller
public class LoginController {
    @Autowired
    LoginService loginService;


    /**用户注册*/
    @PostMapping("/register")
    public String register(UserInfo userInfo){
        loginService.register(userInfo);
        return "redirect:/login";
    }

    /**用户登录*/
    @RequestMapping(value = "/login",method = RequestMethod.GET)
    public String login(
            @RequestParam(value = "loginName") String  loginName,
            @RequestParam(value = "loginPwd")  String  loginPwd,
            Model model,
            HttpSession session){

        UserInfo login=loginService.login(loginName,loginPwd);
        if (login!=null){
            session.setAttribute("loginUser",loginName);
            return "redirect:/main.html";
        }else {
            model.addAttribute("msg","用户名/密码错误");
            return "login";
        }


    }








/**早期用户登录*/
/*
    @RequestMapping(value = "/login",method = RequestMethod.GET)
    public String Login(
                @RequestParam("username") String LoginName,
                @RequestParam("password") String LoginPwd,
                Model model,
                HttpSession session){

            //具体业务
        if(!StringUtils.isEmpty(LoginName)&&"z".equals(LoginPwd)){

            session.setAttribute("loginUser",LoginName );
            return "redirect:/main.html";

        }else{//使用Controller才能在前端页面生效
            model.addAttribute("msg","用户名/密码错误");
            return "login";
        }
    }
*/

}











/*
问题:
1.前端编码中：msg无法使用爆红
2.return "index";返回的事文本（JSON形式数据）无法跳转到指点的界面
原因：该模板需要返回的是一个Model，如果使用@RestController，返回的是JSON数据
解决方式：
    注解@RestController应改为@Controller



使用前先声明——HttpSession session
session.setAttribute(“key”,value)
session.setAttribute("xyyyy",xyyy);保存
session.getAttribute("xyyyy");取得
把自己要的数据放在session里面传来传去

session.getAttribute("")
取到的类型是是object
所以赋值前要强转一下
如：
String session1= (String)session.getAttribute(“student”) ;


*/